#pragma once
#include "point.h"
#include <string>

class FishImpl{

public:
	FishImpl(const Point& speed, const Point& location, bool transparent, int size);
	virtual ~FishImpl();

	virtual void feed()=0;

//	virtual string getTypeName()=0;

	void pause();

	const Point& getSpeed() const;

	// set new speed - specify speed in each coord. and direction using +/-
	void setSpeed(const Point& speed);

	const Point& getLocation() const;

	void setLocation(const Point& location);

	bool isTransparent() const;

	void setTransparent(bool trans);

	int getSize() const;

	void setSize(int size);

	virtual std::string getTypeName()=0;

protected:
	bool paused;
	Point speed;
	Point location;
	bool transparent;
	int size;
};